package models

// User 用户模型
type User struct {
	ID        int    `json:"id"`
	Username  string `json:"username"`
	Password  string `json:"password"` // bcrypt 哈希值
	Role      string `json:"role"`     // admin, user
	Email     string `json:"email,omitempty"`
	Created   string `json:"created"`
	LastLogin string `json:"last_login,omitempty"`
}

// UserLogin 登录请求结构
type UserLogin struct {
	Username string `json:"username" binding:"required"`
	Password string `json:"password" binding:"required"`
}

// UserResponse 用户响应结构（不包含密码）
type UserResponse struct {
	ID        int    `json:"id"`
	Username  string `json:"username"`
	Role      string `json:"role"`
	Email     string `json:"email,omitempty"`
	Created   string `json:"created"`
	LastLogin string `json:"last_login,omitempty"`
}

// LoginResponse 登录响应结构
type LoginResponse struct {
	Token string       `json:"token"`
	User  UserResponse `json:"user"`
}
